所以我在弄清楚list :: sort()关于结构列表的正确使用时遇到了一些麻烦。以下是相关代码: 结构学生 { char firstnm [20], lastnm [20]; 整数ID, 年级; }; listsList; //不正确的代码... cout <<“,请输入您自己的姓名,身份证和等级。(例如:myfirst mylast 0 12)\ n”; cin >> data.firstnm >> data.lastnm >> data.id >> data.grade; sList.push_back(data); sList.sort(); 我想解决的问题是使用sList.sort()按ID排序。但是,我不知道如何正确地将其传递给list :: sort()。在此先感谢您的帮助/时间! 编辑:解决方案只是将其添加到我的结构 布尔运算符<(const student&cmp)const { 返回id
2021-01-22 08:19:47
您应该看一下std :: sort。 (https://zh-cn.cppreference.com/w/cpp/algorithm/sort)该函数有多种定义,您可以在其中定义要排序的内容。 另外,看看那个帖子,我认为这是您需要的:https://stackoverflow.com/a/21234017/6663947 编辑: 多数民众赞成在比较例: sList.sort([](const student&a,const student&b){return a.id无效排序(比较比较); 假设您要根据键ID升序对列表中的学生对象进行排序。您可以为用户定义的学生班级定义operator <,方法是: bool运算符<((学生const&a,学生const&b){ 返回a.id